From: Florian Müllner Date: Wed, 10 Jan 2024 18:53:58 +0000 (+0100) Subject: popupMenu/switch: Follow "show-status-shapes" setting X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~281^2~2^2~132 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ccdd3f5f532a21adf153c68697395e862a097a3e;p=gnome-shell.git popupMenu/switch: Follow "show-status-shapes" setting Whether or not switches include shapes to indicate their ON/OFF state is currently controlled by the stylesheet. However there are use cases for both using the HighContrast style without shapes, and for using shapes with the regular styesheet, so follow the newly added "show-status-shapes" setting instead. https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2675 Part-of: --- diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 9886649ab..3842d8218 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -368,7 +368,11 @@ export const Switch = GObject.registerClass({ }); box.add_child(this._offIcon); - St.Settings.get().connectObject('notify::high-contrast', + this._a11ySettings = new Gio.Settings({ + schema_id: 'org.gnome.desktop.a11y.interface', + }); + + this._a11ySettings.connectObject('changed::show-status-shapes', () => this._updateIconOpacity(), this); this.connect('notify::state', @@ -377,7 +381,7 @@ export const Switch = GObject.registerClass({ } _updateIconOpacity() { - const activeOpacity = St.Settings.get().high_contrast + const activeOpacity = this._a11ySettings.get_boolean('show-status-shapes') ? 255. : 0.; this._onIcon.opacity = this.state